****************************************************************************
* Nome do Arquivo: 		codigo_eseb02.do
* Data:			 		23/03/2020
* Autor: 				Fred Batista
* Prop�sito: 			An�lise do ESEB 2002
* Dados: 				BD_CIS_0012.dta
* Output:				-	*/
****************************************************************************

* VARI�VEIS DO QUESTION�RIO NO BANCO

* voto 1o turno: Q21
* voto 2o turno: Q22
* avalia��o governo: Q45
* gosta de Lula: Q93
* principal problema: Q43
* satisfa��o com a democracia: Q46
* gosta de partido: Q68, Q69, Q70
* rejei��o a partidos: Q174, Q176 
* PT direita esquerda: Q75, Q81
* PSDB direita esquerda: Q77, Q83
* PMDB direita esquerda: Q79, Q85
* auto loucalizacao: Q108, Q109
* conhecimento: Q110-Q121
* Lula direita esquerda: Q122, Q130
* Serra direita esquerda: Q123, Q131
* Garotinho direita esquerda: Q124, Q132
* Idade: Q435
* Sexo: Q438
* Escolaridade: Q439
* Regi�o: Q2
* Status Socioeconomico: Q496-Q503
* Peso: Q533

*******************

* RECODIFICA��O

* voto

gen voto = Q22
recode voto (1=0) (2=1) (4 5 7 8 9 55 77 88 99=.)

gen voto0 = Q21
recode voto0 (55 77 88 99=.) (5 6 7 8 9 13 = 5)

gen votolula1 = voto0
recode votolula1 (1=1) (else=0)

* avalia��o de governo

gen avgov = Q45
recode avgov (77 99=.)

* gosta do pt

gen gostapt = Q68
recode gostapt (13=1) (else=0) 

* gosta do psdb

gen gostapsdb = Q68
recode gostapsdb (45=1) (else=0) 

* rejeita pt

gen rejeitapt = Q174
recode rejeitapt (0=1) (1=0) (55 77 99=.)

* rejeita psdb

gen rejeitapsdb = Q176
recode rejeitapsdb (0=1) (1=0) (55 77 99=.)

* ideologia pt 

gen pt_de1 = Q75 
recode pt_de1 (11 12 55 77 88 99=.)

gen pt_de2 = Q81
recode pt_de2 (11 12 55 77 88 99=.)
replace pt_de2 = 10 - pt_de2

gen pt_de = pt_de1
replace pt_de = pt_de2 if pt_de1==.

* localiza pt 

gen loc_pt = pt_de
recode loc_pt (.=0) (else=1)

* ideologia psdb

gen psdb_de1 = Q77
recode psdb_de1 (11 12 55 77 88 99=.)

gen psdb_de2 = Q83
recode psdb_de2 (11 12 55 77 88 99=.)
replace psdb_de2 = 10 - psdb_de2

gen psdb_de = psdb_de1
replace psdb_de = psdb_de2 if psdb_de1==.

* localiza psdb

gen loc_psdb = psdb_de
recode loc_psdb (.=0) (else=1)

* ideologia pmdb

gen pmdb_de1 = Q79
recode pmdb_de1 (11 12 55 77 88 99=.)

gen pmdb_de2 = Q85
recode pmdb_de2 (11 12 55 77 88 99=.)
replace pmdb_de2 = 10 - pmdb_de2

gen pmdb_de = pmdb_de1
replace pmdb_de = pmdb_de2 if pmdb_de1==.

* localiza pmdb

gen loc_pmdb = pmdb_de
recode loc_pmdb (.=0) (else=1)

* ideologia respondente

gen resp_de1 = Q108 
recode resp_de1 (11 12 66 77 88 99=.)

gen resp_de2 = Q109
recode resp_de2 (11 12 66 77 88 99=.)
replace resp_de2 = 10 - resp_de2

gen resp_de = resp_de1
replace resp_de = resp_de2 if resp_de1==.

gen resp_de01 = resp_de/10

* localiza respondente

gen loc_resp = resp_de
recode loc_resp (.=0) (else=1)

* ideologia lula

gen lula_de1 = Q122
recode lula_de1 (11 12 55 77 88 99=.)

gen lula_de2 = Q130
recode lula_de2 (11 12 55 77 88 99=.)
replace lula_de2 = 10 - lula_de2

gen lula_de = lula_de1
replace lula_de = lula_de2 if lula_de1==.

* localiza lula

gen loc_lula = lula_de
recode loc_lula (.=0) (else=1)

* ideologia serra

gen serra_de1 = Q123
recode serra_de1 (11 12 55 77 88 99=.)

gen serra_de2 = Q131
recode serra_de2 (11 12 55 77 88 99=.)
replace serra_de2 = 10 - serra_de2

gen serra_de = serra_de1
replace serra_de = serra_de2 if serra_de1==.

* localiza serra

gen loc_serra = serra_de
recode loc_serra (.=0) (else=1)

* ideologia garotinho

gen garo_de1 = Q124
recode garo_de1 (11 12 55 77 88 99=.)

gen garo_de2 = Q132
recode garo_de2 (11 12 55 77 88 99=.)
replace garo_de2 = 10 - garo_de2

gen garo_de = serra_de1
replace garo_de = garo_de2 if garo_de1==.

* localiza serra

gen loc_garo = garo_de
recode loc_garo (.=0) (else=1)

* localiza todos

gen loc_geral = 0
replace loc_geral = 1 if loc_pt==1 & loc_psdb==1 & loc_pmdb==1 & loc_serra==1 & loc_lula==1 & loc_garo==1

* psdb a esquerda de pt

gen psdbpt_ord = 1
replace psdbpt_ord = 0 if psdb_de <= pt_de

* polarizacao psdb pt
 
gen dist_psdbpt = psdb_de - pt_de

* polarizacao serra lula
 
gen dist_serralula = serra_de - lula_de

* preenche todos os requisitos

gen todosreq = 0
replace todosreq = 1 if loc_resp==1 & loc_geral==1 & psdbpt_ord ==1

* idade

gen idade = (Q435 - 16)/(94 - 16)

* homem

gen homem = 2 - Q438

* escolaridade

gen escolaridade = Q439
recode escolaridade (77 99=.)
replace escolaridade = (escolaridade - 1)/19

* regiao

gen regiao = Q2

* status socioeconomico

recode Q496 Q497 Q498 Q499 Q500 Q501 Q502 Q503 (77 88 99=.)
gen socioeconomico = (Q496 + Q497 + Q498 + Q499 + Q500 + Q501 + Q502 + Q503)/8

* conhecimento

gen item1 = Q118
recode item1 (45=1) (else=0)

gen item2 = Q119
recode item2 (13=1) (else=0)

gen item3 = Q120
recode item3 (55 77 88 99=0)

gen item4 = Q121
recode item4 (55 77 88 99=0)

alpha item1 item2 item3 item4

gen conhecimento = (item1 + item2 + item3 + item4)/4

egen conhe_g = cut(conhecimento), group(2)

factor item1 item2 item3 item4, factor(1)

predict conhecimento2 

summarize conhecimento2

replace conhecimento2 = (conhecimento2 - r(min))/(r(max) - r(min))

* gosta do Lula

gen gostalula = Q93

recode gostalula (11 12 77 99=.)

* satisfa��o com a democracia

gen satisdem = Q46

recode satisdem (6 77 99=.)

replace satisdem  = satisdem 

* principal problema (outros, economia, sociedade, crime/seguranca. politica)

gen problema = Q43

recode problema (55 66 77 99=0) (1 3 10 11 14 21 22=1) (5 6 7 8 9 18 19=2) (2 13=3) (4 12 17=4)


*AN�LISE

* requisito 1

tab loc_resp  [aweight=Q533]

probit loc_resp conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(conhecimento)

* requisitos 1 e 2

tab loc_geral  [aweight=Q533]

probit loc_geral conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(conhecimento)

* requisitos 1 e 3: psdb pt

tab psdbpt_ord  [aweight=Q533]

probit psdbpt_ord conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(conhecimento)

* preenchimento dos 3 requisitos

tab todosreq  [aweight=Q533]

probit todosreq conhecimento escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(conhecimento escolaridade)

* dimensionalide da escala por an�lise fatorial

factor resp_de lula_de serra_de garo_de pt_de psdb_de pmdb_de [aweight=Q533] if loc_resp==1, factor(1)

factor resp_de lula_de serra_de garo_de pt_de psdb_de pmdb_de [aweight=Q533] if todosreq==0, factor(1)

factor resp_de lula_de serra_de garo_de pt_de psdb_de pmdb_de [aweight=Q533] if todosreq==1, factor(1)

factor resp_de lula_de serra_de garo_de pt_de psdb_de pmdb_de [aweight=Q533] if conhe_g==0, factor(1)

factor resp_de lula_de serra_de garo_de pt_de psdb_de pmdb_de [aweight=Q533] if conhe_g==1, factor(1)


* intera��o com todosreq

probit voto c.resp_de avgov gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

probit voto c.resp_de##c.todosreq avgov  gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

probit voto c.resp_de01##c.todosreq avgov  gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(resp_de01) at(todosreq=(0(1)1))


**** HK replica��o

*** Dv: voto em Lula primeiro turno para HB

* modelo balbachvesky

reg votolula1 resp_de avgov gostalula problema satisdem [pweight=Q533]

margins, dydx(resp_de01)

* modelo balbachvesky corrigido

probit votolula1 resp_de avgov gostalula i.problema satisdem [pweight=Q533]

probit votolula1 resp_de01 avgov gostalula i.problema satisdem [pweight=Q533]

margins, dydx(resp_de01)

margins, at(resp_de=(0(10)10))

* modelo proposto (partidarismo, vari�veis socioecon�micas, remo��o de preditores irrelevantes (satisfez e problema)

probit votolula1 resp_de avgov gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

probit votolula1 resp_de01 avgov gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(resp_de01)

margins, at(resp_de=(0(10)10))

probit votolula1 c.resp_de##c.escolaridade avgov gostapt gostapsdb socioeconomico idade homem i.regiao [pweight=Q533]

probit votolula1 c.resp_de01##c.escolaridade avgov gostapt gostapsdb socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(resp_de01) at(escolaridade=(0(1)1))

probit votolula1 c.resp_de##c.conhecimento avgov gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

probit votolula1 c.resp_de01##c.conhecimento avgov gostapt gostapsdb escolaridade socioeconomico idade homem i.regiao [pweight=Q533]

margins, dydx(resp_de01) at(conhecimento=(0(1)1))



